热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

临界|工人_考研操作系统操作系统引论

篇首语:本文由编程笔记#小编为大家整理,主要介绍了考研操作系统操作系统引论相关的知识,希望对你有一定的参考价值。考研操作系统(一)操

篇首语:本文由编程笔记#小编为大家整理,主要介绍了考研操作系统操作系统引论相关的知识,希望对你有一定的参考价值。



考研操作系统(一)操作系统引论

文章目录


  • 考研操作系统(一)操作系统引论
    • 一、基本概念
      • 1.1 什么是操作系统
      • 1.2 操作系统的特征
        • 1.2.1 并发
        • 1.2.2 共享
          • 1.2.2.1 互斥资源共享方式
          • 1.2.2.2 同时访问资源共享方式

        • 1.2.3 虚拟
        • 1.2.4 异步

      • 1.3 操作系统的目标和功能
        • 1.3.1 系统资源的管理者
          • 1.3.1.1 处理机管理
          • 1.3.1.2 存储器管理
          • 1.3.1.3 文件管理
          • 1.3.1.4 设备管理

        • 1.3.2 用户与计算机硬件系统之间的接口
          • 1.3.2.1 命令接口
          • 1.3.2.2 程序接口

        • 1.3.3 操作系统用作扩充机器


    • 二、发展过程
      • 2.1 手工操作阶段
      • 2.2 批处理阶段
        • 2.2.1 单道批处理系统
        • 2.2.2 多道批处理系统

      • 2.3 分时操作系统阶段
      • 2.4 实时操作系统
      • 2.5 微机操作系统
      • 2.6 分布式系统
      • 2.7 嵌入式系统

    • 三、主要功能
      • 3.1 处理机管理功能
        • 3.1.1 进程控制
        • 3.1.2 进程同步
        • 3.1.3 进程间通信
        • 3.1.4 调度

      • 3.2 存储器管理功能
        • 3.2.1 内存分配
        • 3.2.2 内存保护
        • 3.2.3 地址映射
        • 3.2.4 内存扩充

      • 3.3 设备管理功能
        • 3.3.1 缓冲管理
        • 3.3.2 设备分配
        • 3.3.3 设备处理

      • 3.4 文件管理功能
        • 3.4.1 文件存储空间管理
        • 3.4.2 文件目录管理
        • 3.4.3 文件读写管理


    • 四、结构设计
      • 4.1 无结构操作系统
      • 4.2 模块化结构操作系统
      • 4.3 分层式结构操作系统
      • 4.4 微内核结构操作系统

    • 五、运行环境
      • 5.1 运行机制
      • 5.2 中断和异常
      • 5.3 系统调用




一、基本概念


1.1 什么是操作系统

操作系统 (Operating System, OS)是指控制和管理整个计算机系统的硬件与软 件资源,合理地组织、调度计算机的工作与资源的分配,进而为用户和其他软件提供方便接口与环境的程序集合。 操作系统是计算机系统中最基本的系统软件。

简单来说就是一个向下管理资源、向上服务软件的一个系统


1.2 操作系统的特征

操作系统的基本特征大体分为四种,并发、共享、虚拟、异步


1.2.1 并发



并发是指两个或多个事件在 同一时间间隔内 发生。操作系统的并发性是指计算机系统中同川才 存在多个运行的程序,因此它具有处理和调度多个程序同时执行的能力。


这里需要和并行区别开来, 并行指的是在同一时刻同时运行


举个简单的例子来认识并发和并行,例如

如果你在




9


:


00





9


:


10



9:00-9:10


9:009:10
仅吃面包,在




9


:


10





9


:


20



9 :10 - 9:20


9:109:20
仅写字,在




9


:


20





9


:


30



9:20-9:30


9:209:30
仅吃而包,在




9


:


30





10


:


00



9: 30一10:00


9:3010:00
仅写字,那么在




9


:


00





10


:


00



9 :00一10:00


9:0010:00
吃面包和写字这两种行为就是并发执行的;再如 ,如果你在




9


:


00





10


:


00



9:00一10:00


9:0010:00
右手写字,左手 同时 拿着面包吃,那么这两个动作就是并行执行的。


1.2.2 共享

资源共享即共享,是指系统中的资源可供内存中多个并发执行的进程共同使用。共享方式可分为 互斥资源共享同时访问资源共享


1.2.2.1 互斥资源共享方式

互斥资源共享的文件又称 独占资源 或者 临界资源 ,指的是在一段时间内只允许一个进程访问该资源,例如打印机、磁带机虽然可以被多个进程所调用,但是在一段时间内,只允许一个进程进行操作


1.2.2.2 同时访问资源共享方式

系统中还有另一类资源,这类资源允许在一段时间内由多个进程“同时”访问。这里所说的“同时”通常是宏观上的,而在微观上,这些进程 可能是交替地 对该资源进行访问即 “分时共享” 的 。 可供多个进程“同时”的问的典型资源是磁盘设备, 一些用重入码编写的文件也可被“同时” 共享,允许若干个用户同时访问该文件



并发和共享是操作系统两个最基本的特征,两者之间互为存在的条件:


  • ①资源共享是以程序的并发为条件的 , 若系统不允许程序井发执行,则自然不存在资源共享问题
  • ②若系统不能对资源共享实施有效的管理,则必将影响到程序的并发执行,甚至根本无法井发执行。


1.2.3 虚拟



虚拟是指把一个物理上的实体变为若干逻辑上的对应物。物理实体(前者〉是实的,即实际存在的;而后者是虚的,是用户感觉上的事物。用于实现虚拟的技术,称为虚拟技术。操作系统中利用了多种虚拟技术来实现虚拟处理器、虚拟内存和虚拟外部设备等。


例如,虚拟处理器技术,采用多道程序并发执行的方法,来分时使用一个CPU,虽然只有一个CPU但是能为多个用户进行服务,让用户感觉到有一个专门的CPU在为自己服务,这就是虚拟处理器技术,利用多道程序设计技术,将一个物理CPU虚拟化为多个虚拟CPU


1.2.4 异步

多道程序环境允许多个程序井发执行,但由于资源有限,进程的执行并不是一贯到底的,而是走走停停的,它以不可预知的速度向前推进,这就是进程的异步性

Ps:通过后面的中断操作,可能更好理解异步


1.3 操作系统的目标和功能



操作系统的目的是提升对资源管理的效率,更好的服务上层软件应用等,为了给多道程序提供良好的运行环境,操作系统应具有以下几方面的功能:处理机管理存储器管理设备管理文件管理。为了方便用户使用操作系统,还必须向用户提供接口 。 同时,操作系统可用来扩充机器,以提供更方便的服务、更高的资源利用率


我们用一个直观的例子来理解这种情况。 例如,用户是雇主,操作系统是工人(用来操作机器〉, 计算机是机器(由处理机、存储器、设备、文件几个部件构成〉,工人有熟练的技能,能够控制和协调各个部件的工作,这就是操作系统对资源的管理;同时,工人必须接收雇主的命令,这就是“接口”; 有了工人,机器就能发挥更大的作用,因此工人就成了“扩充机器”。


1.3.1 系统资源的管理者


1.3.1.1 处理机管理

在多道程序环境下,处理机的分配和运行都以进程(或线程〉为基本单位,进程管理的主要功能包括进程控制、进程同步、进程通信、 死锁处理、处理机调度等


1.3.1.2 存储器管理

主要包括内存分配与回收、地址映射、内存保护与共享和内存扩充等功能


1.3.1.3 文件管理

文件管理包括文件存储空间的管理、目录管理及文件读写管理和保护等


1.3.1.4 设备管理

设备管理的主要任务是完成用户的




I


/


0



I/0


I/0
请求,方便用户使用各种设备,并提高设备的利用率,主要包括缓冲管理、设备分配、设备处理和虚拟设备等功能


1.3.2 用户与计算机硬件系统之间的接口

为了方便用户操作系统硬件并运行程序,操作系统提供了相应的接口,主要分为两类:命令类接口、程序接口


1.3.2.1 命令接口

命令接口又分为:联机命令接口脱机命令接口


  • 联机命令接口


又称为 交互式命令接口 ,适用于时分或者实时系统的接口,用户通过控制台或终端输入操作命令,向系统提出各种服务要求(例如windows或者Linux的终端),每当我们在终端输入这些指令,那么通过命令解释器系统就会将我们的命令执行



  • 脱机命令接口


又称为 批处理命令接口 ,适用于批处理系统,这个就好比我们平时写的一些脚本程序,它是由一些控制命令组成,用户不能直接干预,只能通过命令执行完成后查看情况。



1.3.2.2 程序接口

程序接口由一组 系统调用 (也称 广义指令 )组成。 用户通过在程序中使用这些系统调用来请求操作系统为其提供服务,如使用各种外部设备、申请分配和回收内存及其他各种要求


1.3.3 操作系统用作扩充机器

操作系统所提供的资源管理功能和方便用户的各种服务功能,将棵机改造成功能更强、使用更方便的机器,我们将 覆盖了软件的机器 称为扩充机器,或者虚拟机


二、发展过程


2.1 手工操作阶段

手工操作阶段有两个突出的缺点:


  • 用户独占全机,不会出现因资源已被其他用户占用而等待的现象,但资源利用率低





  • C


    P


    U



    CPU


    CPU
    等待手工操作,




    C


    P


    U



    CPU


    CPU
    的利用不充分

2.2 批处理阶段


2.2.1 单道批处理系统

系统对作业的处理是成批进行的,但内存中始终保持一道作业。单道批处理系统是在解快人机矛盾及




C


P


U



CPU


CPU





I


/


0



I/0


I/0
设备速率不匹配的矛盾中形成的,其主要特征如下:


  • 自动性。在顺利的情况下,磁带上的一批作业能自动地逐个运行,而无须人工干预。
  • 顺序性 。 磁带上的各道作业顺序地进入内存,先进入的作业先完成
  • 单道性 。 内存中仅有一道程序运行

由于单道的这种特性,每次主机内存中仅存放一道作业,每当它在运行期间发出输入/输出请求后 , 高速的




C


P


U



CPU


CPU
便处于等待低速的




I


/


0



I/0


I/0
完成状态。这样就大量浪费了




C


P


U



CPU


CPU
的时间


2.2.2 多道批处理系统

多道程序设计技术允许多个程序同时进入内存并允许它们在




C


P


U



CPU


CPU
中交替地运行,这些程序共享系统中的各种 硬/软件 资源。当一道程序因




I


/


0



I/0


I/0
请求而暂停运行时,




C


P


U



CPU


CPU
便立即转去运行另一道程序。这样让




C


P


U



CPU


CPU
尽可能的忙起来,就能使得效率有很大的提升,其主要特征如下:


  • 多道。 计算机内存中同时存放多道相互独立的程序
  • 宏观上并行。 同时进入系统的多道程序都处于运行过程中,即它们先后开始各自的运行,但都未运行完毕。
  • 微观上串行。 内存中的多道程序轮流占有 CPU,交替执行

其优缺点也很显然:


  • 优点:资源利用率高,多道程序共享计算机资源,从而使各种资源得到充分利用;系统吞吐量大, CPU 和其他资源保持“忙碌”状态 。

  • 缺点:用户响应的时间较快; 不提供人机交互能力

故多道批处理是实现作业自动控制而无须人工干预的系统


2.3 分时操作系统阶段

所谓分时技术,是指把处理器的运行时间分成很短的 时间片 ,按时间片轮流把处理器分配给各联机作业使用 。 若某个作业在分配给它的时间片内不能完成其计算,则该作业暂时停止运行, 把处理器让给其他作业使用, 等待下一轮再继续运行。 由于计算机速度很快,作业运行轮转得也很快,因此给每个用户的感觉就像是自己独占一台计算机,因此这种系统很适合进行人机交互,那么就能得到如下特征:


  • 同时性。同时性也称多路性,指允许多个终端用户同时使用一台计算机
  • 交互性。用户能够方便地与系统进行人机对话,即用户通过终端采用人机对话的方式直接控制程序运行,与同程序进行交互。
  • 独立性。系统中多个用户可以彼此独立地进行操作,互不干扰,单个用户感觉不到别人 也在使用这台计算机,好像只有自己单独使用这台计算机一样
  • 及时性。用户请求自旨在很短时间内获得响应。分时系统采用时间片轮转方式使一台计算机同时为多个终端服务,使用户能够对系统的及时响应感到满意。

2.4 实时操作系统



为了能在某个时间限制内完成某些紧急任务而不需要时间片排队,诞生了实时操作系统。 这里的时间限制可以分为两种情况:


  • 若某个动作必须绝对地在规定的时刻(或规定的时间范围)发生,则称为 硬实时系统 ,如飞行器的飞行自动控制系统,这类系统必须提供绝对保证,让某个特定的动作在规定的时间内完成。
  • 若能够接受偶尔违反时间规定且不会引起任何永久性的损害, 则称为软实时系统,如飞机订票系统、银行管理系统。

在实时操作系统的控制下,计算机系统接收到外部信号后及时进行处理,并在严格的时限内处理完接收的事件。 实时操作系统的主要特点是及时性可靠性


2.5 微机操作系统

微机操作系统又称个人操作系统,是目前使用最广泛的操作系统,它广泛应用于文字处理、电子表格、游戏中,常见的有 WindowsLinuxMacintosh 等。


2.6 分布式系统

分布式计算机系统是由多台计算机组成并满足下列条件的系统:


  • 系统中任意两台计算机通 过通信方式交换信息
  • 系统中的每台计算机都具有同等的地位,即没有主机也没有从机
  • 每台计算机上的资源为所有用户共享
  • 系统中的任意台计算机都可以构成一个子系统,并且还能重构

任何工作都可以分布在几台计算机上,由它们并行工作协同完成。用于管理分布式计算 机系统的操作系统称为分布式计算机系统

该系统的主要特点是:分布性并行性。分布式操作系统与网络操作系统的本质不同是,分布式操作系统中的若干计算机相互协同完成同一任务。


2.7 嵌入式系统

嵌入式系统一般是一些小型定制化的系统,更加符合具体的应用的系统,例如路由器,给他内置一个Linux或者Windows显然是不显示的,因为内存等一些固件配置没有那么高,那么就需要嵌入式系统进行特定的定制。


三、主要功能

在上面基本概念,简单提了一下处理机管理功能、存储器管理功能、设备管理功能、文件管理功能,这里详细谈一下


3.1 处理机管理功能


3.1.1 进程控制

在多道程序环境下为使作业能并发执行,必须为每道作业创建一个或几个进程,并为之分配必要的资源。因此,进程控制的主要功能也就是为作业创建进程、终止已结束进程,以及控制进程在运行中的状态转换


3.1.2 进程同步

为使多个进程能有条不紊地运行,系统中必须设置相应的进程同步机制。该机制的主要任务是为多个进程(含线程)的运行进行协调。常用的协调方式有两种:


  • ①进程互斥方式,这是指诸进程在对临界资源进行访问时,应采用互斥方式
  • ②进程同步方式,指在相互合作去完成共同任务的诸进程间,由同步机构对它们的执行次序加以协调。最简单的用于实现进程互斥的机制是为每一一个临 界资源配置一把锁




    W



    W


    W
    ,当锁打开时,进程可以对该临界资源进行访问;而当锁关上时,则禁止进程访问该临界资源。而实现进程同步时,最常用的机制是信号量机制。

3.1.3 进程间通信

进程间通信一般发生在一些合作的进程之间,例如某一个进程获取数据,另一个进程对数据进行处理,那么这个数据传递的过程就是进程间通信


3.1.4 调度

在传统OS中,调度包括作业调度和进程调度两步


  • (1)作业调度。作业调度的基本任务是从后备队列中按照–定的算法选择出若干个作业,为它们分配运行所需的资源,在将这些作业调入内存后,分别为它们建立进程,使它们都成为可能获得处理机的就绪进程,并将它们插入就绪队列中。

  • (2)进程调度。进程调度的任务是从进程的就绪队列中按照一定的算法选出一个进程,将处理机分配给它,并为它设置运行现场,使其投入执行。


3.2 存储器管理功能


3.2.1 内存分配

内存分配主要做这几项:


  • (1)为每道程序分配内存空间,使它们“各得其所”。

  • (2)提高存储器的利用率,尽量减少不可用的内存空间(碎片)。

  • (3)允许正在运行的程序申请附加的内存空间,以适应程序和数据动态增长的需要。



OS在实现内存分配时,可采取静态和动态两种方式:


(1)静态分配方式。每个作业的内存空间是在作业装入时确定的,在作业装入后的整个运行期间不允许该作业再申请新的内存空间,也不允许作业在内存中“移动”。


(2)动态分配方式。每个作业所要求的基本内存空间虽然也是在装入时确定的,但允许作业在运行过程中继续申请新的附加内存空间,以适应程序和数据的动态增长,也允许作业在内存中“移动”。



3.2.2 内存保护

内存保护主要做两件事:


  • ①确保每道用户程序都仅在自己的内存空间内运行,彼此互不干扰
  • ②绝不允许用户程序访问操作系统的程序和数据,也不允许用户程序转移到非共享的其它用户程序中去执行

3.2.3 地址映射



在多道程序环境下,每一个程序经过编译和连接后所形成的可装入程序地址都是从




0



0


0
开始的,但不可能每一个程序都从物理




0



0


0
地址开始装入内存,于是为了保证程序正常运行,存储器管理就需要为程序提供地址映射的功能


例如:假设真实的物理地址是




200



200


200
此时我们将其映射为




0



0


0
地址,那么




201



201


201
的物理地址就是逻辑的




1



1


1
地址,这样就解决了程序装载问题,当然注意的是这个功能是在 硬件的支持 下完成的。


3.2.4 内存扩充

借助虚拟存储技术,从逻辑上扩充容量,而非物理扩充容量,这样让用户感觉到使用的内存容量比实际容量大了很多


3.3 设备管理功能


3.3.1 缓冲管理

如果在




I


/


O



I/O


I/O
设备和




C


P


U



CPU


CPU
之间引入缓冲,则可有效地缓和




C


P


U



CPU


CPU





I


/


O



I/O


I/O
设备速度不匹配的矛盾,提高




C


P


U



CPU


CPU
的利用率,进而提高系统吞吐量。

最常见的缓冲区机制有:


  • 单缓冲机制
  • 能实现双向同时传送数据的双缓冲机制
  • 能供多个设备同时使用的公用缓冲池机制

3.3.2 设备分配

设备分配的基本任务是根据用户进程的




I


/


O



I/O


I/O
请求、系统现有资源情况以及按照某种设备分配策略,为之分配其所需的设备。为了实现设备分配。系统中应当设置:设备控制表、控制器控制表等数据结构,用于记录设备以及控制器等标识符和状态,在设备使用完成后系统应当立即回收


3.3.3 设备处理

设备处理程序又称为设备驱动程序,其任务主要是用于实现




C


P


U



CPU


CPU
和设备控制器之间的通信,即由




C


P


U



CPU


CPU
向设备控制器发出




I


/


O



I/O


I/O
命令,并要求其完成指定的操作,同时




C


P


U



CPU


CPU
还能接收控制器发来的中断请求,并作出反应

通常来说设备处理的流程如下:


  • 首先检查




    I


    /


    O



    I/O


    I/O
    请求的合法性,了解设备状态是否是空闲的,读取有关的传递参数及设置设备的工作方式

  • 然后向设备控制器发出




    I


    /


    O



    I/O


    I/O
    命令,启动




    I


    /


    O



    I/O


    I/O
    设备完成指定的




    I


    /


    O



    I/O


    I/O
    操作。



此外设备驱动程序还应能及时响应由控制器发来的中断请求,并根据该中断请求的类型,调用相应的中断处理程序进行处理对于设置了通道的计算机系统,设备处理程序还应能根据用户的




I


/


O



I/O


I/O
请求自动地构成通道程序。



3.4 文件管理功能


3.4.1 文件存储空间管理

文件管理功能为每一个文件分配必要的外存空间,提高外存的利用率,进而提高文件系统的存、取速度。系统也有相应的数据结构来记录文件存储空间的使用情况,以供分配存储空间时思考。并且还具有对存储空间进行分配和回收的功能


3.4.2 文件目录管理


  • 目录管理为每一个文件建立一个目录项,目录项包括文件名、属性、文件的物理位置等,并对众多的目录项进行有效的组织,以实现方便的按名存取
  • 目录管理还能实现文件共享,只需要在外存上保留一份该共享文件的副本。
  • 目录管理提供快速查找目录的功能,以提高文件检索的速度

3.4.3 文件读写管理

该功能是根据用户的请求,从外存中读取数据,或将数据写入外存。


  • 在进行文件读/写时,系统先根据用户给出的文件名去检索文件目录,从中获得文件在外存中的位置。

  • 然后,利用文件读/写指针,对文件进行读/写。一旦读/写完成,便修改读/写指针,为下一次读/写做好准备。

由于读和写操作不会同时进行,故可合用一个读/写指针。


四、结构设计



软件开发技术的不断发展,促进了OS结构的更新换代。这里,我们把早期的无结构的OS(第一代)、模块化结构的OS(第二代)和分层式结构的OS(第三代),都统称为传统结构的




O


S



OS


OS
,而把微内核结构




O


S



OS


OS
称为现代结构的




O


S



OS


OS



4.1 无结构操作系统

在早期的操作系统中,设计者为了提高效率 以及内存利用率对操作系统没有一个好的设计,而是想编写出一个紧凑的程序,于是操作系统就是一种零散的一些程序,每一个程序可以任意的调用其他的进程,导致操作系统内部既复杂又混乱,随着系统的不断扩大,这种没有全面设计的操作系统就出现了很多问题,这就是早期的无结构系统,也有人称其为整体系统结构


4.2 模块化结构操作系统

为了让操作系统有更加清晰的结构,设计者按照功能精心的划分为若干个具有一定独立性和大小的模块,每个模块都有对应的功能,并且约定好各个模块的接口,方便模块间的互相调用,然后再逐步细分各个模块为子模块,最终实现操作系统整体的结构,如图:

在模块划分的时候需要注意独立性问题,一般有以下两个标准:


  • 内聚性:指模块内部各部分的联系,内聚性越高模块的独立性越高
  • 耦合性:指模块间互相联系和互相影响的程度。耦合性越低模块的独立性越强

4.3 分层式结构操作系统


4.4 微内核结构操作系统


五、运行环境


5.1 运行机制


5.2 中断和异常


5.3 系统调用


推荐阅读
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 并发编程:深入理解设计原理与优化
    本文探讨了并发编程中的关键设计原则,特别是Java内存模型(JMM)的happens-before规则及其对多线程编程的影响。文章详细介绍了DCL双重检查锁定模式的问题及解决方案,并总结了不同处理器和内存模型之间的关系,旨在为程序员提供更深入的理解和最佳实践。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • CMake跨平台开发实践
    本文介绍如何使用CMake支持不同平台的代码编译。通过一个简单的示例,我们将展示如何编写CMakeLists.txt以适应Linux和Windows平台,并实现跨平台的函数调用。 ... [详细]
  • 在Linux系统中配置并启动ActiveMQ
    本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]
  • 理解存储器的层次结构有助于程序员优化程序性能,通过合理安排数据在不同层级的存储位置,提升CPU的数据访问速度。本文详细探讨了静态随机访问存储器(SRAM)和动态随机访问存储器(DRAM)的工作原理及其应用场景,并介绍了存储器模块中的数据存取过程及局部性原理。 ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • 本文详细介绍了如何在Ubuntu系统中下载适用于Intel处理器的64位版本,涵盖了不同Linux发行版对64位架构的不同命名方式,并提供了具体的下载链接和步骤。 ... [详细]
  • Linux设备驱动程序:异步时间操作与调度机制
    本文介绍了Linux内核中的几种异步延迟操作方法,包括内核定时器、tasklet机制和工作队列。这些机制允许在未来的某个时间点执行任务,而无需阻塞当前线程,从而提高系统的响应性和效率。 ... [详细]
author-avatar
sunhuan
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有